package com.be.beadmin.design.entity;

import com.be.beadmin.common.entity.BaseEntity;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;

/**
 * @Author: Mengyang Zhu
 * @Date: 2023/4/22 20:17
 * @Description: 柜体设计
 */
@Data
@Entity
@Table(name="T_OM_BatchProductDesign")
public class BatchProductDesign extends BaseEntity {
    @Column(name = "InfoId",columnDefinition = "VARCHAR(50) COMMENT '项目id' not null")
    private String infoId;
    @Column(name = "ProjectCode",columnDefinition = "VARCHAR(50) COMMENT '项目编码' ")
    private String projectCode;

    @Column(name = "ProjectName",columnDefinition = "VARCHAR(50) COMMENT '项目名称' not null ")
    private String projectName;
    @Column(name = "BatchDeliveryDate", columnDefinition = "datetime COMMENT '交货日期' ")
    private Date batchDeliveryDate;
    @Column(name = "batchProductId",columnDefinition = "VARCHAR(50) COMMENT '批次柜体id' ")
    private String batchProductId;

    @Column(name = "batchPlanId",columnDefinition = "VARCHAR(50) COMMENT '批次计划id' ")
    private String batchPlanId;

    @Column(name = "BatchPlanCode", columnDefinition = "VARCHAR(50) COMMENT '计划编码' ")
    private String batchPlanCode;

    @Column(name = "ProductCode",columnDefinition = "VARCHAR(50) COMMENT '柜体编码' ")
    private String productCode;

    @Column(name = "ProductType",columnDefinition = "VARCHAR(50) COMMENT '柜体类型' ")
    private String productType;

    @Column(name = "BopCode",columnDefinition = "VARCHAR(50) COMMENT '工艺路径code' ")
    private String bopCode;
    @Column(name = "BomId",columnDefinition = "VARCHAR(50) COMMENT 'BOMID' ")
    private String bomId;
    @Column(name = "DrawingId",columnDefinition = "VARCHAR(50) COMMENT '图纸ID' ")
    private String drawingId;

    @Column(name = "PlanDesignStartDate", columnDefinition = "datetime COMMENT '设计开始' ")
    private Date planDesignStartDate;

    @Column(name = "PlanDesignEndDate", columnDefinition = "datetime COMMENT '设计结束' ")
    private Date planDesignEndDate;

    @Column(name = "ActualKickoffStartDate", columnDefinition = "datetime COMMENT '开工开始' ")
    private Date actualKickoffStartDate;

    @Column(name = "PlanDesignWh",columnDefinition = "float COMMENT '计划设计工时' ")
    private float planDesignWh;

    @Column(name = "SubmitTime", columnDefinition = "datetime COMMENT '提交时间' ")
    private Date submitTime;

    @Column(
            name = "State",
            nullable = false,
            columnDefinition = "decimal(1) default 0 COMMENT '审核状态:0-初始化 待上传 1-待审核 2-审核通过 3-冻结  如有异常直接退回0状态' "
    )
    protected Integer state = 0;
    @Column(
            name = "ReviewState",
            nullable = false,
            columnDefinition = "decimal(1) default 0 COMMENT '审核状态:0-初始化 待上传 1-待审核 2-审核通过 3-冻结  如有异常直接退回0状态' "
    )
    protected Integer reviewState = 0;

    @Column(
            name = "IsStandard",
            nullable = false,
            columnDefinition = "decimal(1) default 1 COMMENT '标准柜体' "
    )
    protected Integer isStandard = 1;

    @Column(name = "MasterPlanCode",columnDefinition = "VARCHAR(50) COMMENT '主计划Code' not null")
    private String masterPlanCode;

    @Column(name = "ReviewEditor",columnDefinition = "VARCHAR(50) COMMENT '审核人员' ")
    private String reviewEditor;
    @Column(name = "ReviewEditorId",columnDefinition = "VARCHAR(50) COMMENT '审核人员id' ")
    private String reviewEditorId;

    @Column(name = "ReviewMemo",columnDefinition = "VARCHAR(50) COMMENT '审核备注' ")
    private String reviewMemo;

    //创建人
    @Column(name = "Engineer",columnDefinition = "VARCHAR(50) COMMENT '工程师' ")
    private String engineer;
}
